Datacenters are facilities that house computing and/or telecommunications equipment. Datacenters are often used by cloud computing providers to provide physical hardware resources to tenants on demand. Cloud computing provides on-demand access to a shared pool of hardware resources such as computing resources, storage resources, and networking resources. Cloud computing allows users to request additional hardware resources when they are needed, and release hardware resources when they are not needed. Cloud computing has become a highly demanded service due to its capability to offer hardware resources on-demand, relatively cheap costs, scalability, accessibility, and high availability.
Nodes in a datacenter can be compromised by various forms of unwanted software such as root-kits, droppers, bots, infectious agents, ransomed-ware, spyware, espionage-ware, malware, viruses, and worms. Also, backdoor entries to datacenters can be granted by plugging in unauthorized hardware devices to nodes in a datacenter. Such unwanted software and hardware in datacenters can impair and disrupt cloud computing services. As such, it is important for datacenter operators and/or cloud providers to be able to detect the presence of unauthorized software and/or hardware in the datacenter in a secure, efficient, scalable, proactive, and automated manner.